#include "Metgine/Graphics/Shape.hpp"

namespace Metgine
{

namespace Graphics
{

Shape::Shape(bool filled, bool outlined)
{

    SetFilled(filled);
    SetOutlined(outlined);

}

void Shape::SetData(sf::Shape data)
{
    m_shape = data;
}

const sf::Drawable& Shape::GetData() const
{
    return m_shape;
}

void Shape::SetPosition(const Vector2f& position)
{
    m_shape.SetPosition(position.x, position.y);
}

void Shape::SetFilled(bool state)
{
    m_shape.EnableFill(state);
}

void Shape::SetFillColor(const sf::Color& color)
{
    m_shape.SetColor(color);
}

void Shape::SetOutlined(bool state)
{

    m_shape.EnableOutline(state);

}

void Shape::SetOutlineColor(const sf::Color& color)
{

    m_shape.SetColor(color);

}

void Shape::CreateBox(const Vector2f& position, const Vector2f& size, const sf::Color& color)
{

    m_shape = sf::Shape::Rectangle(position.x, position.y, position.x + size.x, position.y + size.y, color);

}

}; // Graphics
}; // Metgine

